40 research outputs found

    Proyecciones cónicas de rectas en sistemas catadióptricos para percepción visual en entornos construidos por el hombre

    Get PDF
    Los sistemas de visión omnidireccional son dispositivos que permiten la adquisición de imágenes con un campo de vista de 360º en un eje y superior 180º en el otro. La necesidad de integrar estas cámaras en sistemas de visión por computador ha impulsado la investigación en este campo profundizando en los modelos matemáticos y la base teórica necesaria que permite la implementación de aplicaciones. Existen diversas tecnologías para obtener imágenes omnidireccionales. Los sistemas catadióptricos son aquellos que consiguen aumentar el campo de vista utilizando espejos. Entre estos, encontramos los sistemas hiper-catadióptricos que son aquellos que utilizan una cámara perspectiva y un espejo hiperbólico. La geometría hiperbólica del espejo garantiza que el sistema sea central. En estos sistemas adquieren una especial relevancia las rectas del espacio, en la medida en que, rectas largas son completamente visibles en única imagen. La recta es una forma geométrica abundante en entornos construidos por el hombre que además acostumbra a ordenarse según direcciones dominantes. Salvo construcciones singulares, la fuerza de la gravedad fija una dirección vertical que puede utilizarse como referencia en el cálculo de la orientación del sistema. Sin embargo el uso de rectas en sistemas catadióptricos implica la dificultad añadida de trabajar con un modelo proyectivo no lineal en el que las rectas 3d son proyectadas en cónicas. Este TFM recoge el trabajo que se presenta en el artículo "Significant Conics on Catadioptric Images for 3D Orientation and Image Rectification" que pretendemos enviar a "Robotics and Autonomous Systems". En él se presenta un método para calcular la orientación de un sistema hiper-catadióptrico utilizando las cónicas que son proyecciones de rectas 3D. El método calcula la orientación respecto del sistema de referencia absoluto definido por el conjunto de puntos de fuga en un entorno en que existan direcciones dominantes

    Visual SLAM and scale estimation from omnidirectional wearable vision

    Get PDF
    La resolución del problema de Localización y Mapeado Simultáneos (SLAM) con sistemas de visión permite reconstruir un mapa del entorno a partir de medidas extraídas de imágenes y, al mismo tiempo, estimar la trayectoria u odometría visual de la cámara. En los último años el SLAM visual ha sido uno de los problemas más tratados en el campo de la visión por computador y ha sido abordado tanto con sistemas estéreo como monoculares. Los sistemas estéreo tienen la característica de que conocida la distancia entre las cámaras se pueden triangular los puntos observados y por lo tanto, es posible obtener una estimación tridimensional completa de la posición de los mismos. Por el contrario, los sistemas monoculares, al no poderse medir la profundidad a partir de una sola imagen, permiten solamente una reconstrucción tridimensional con una ambigüedad en la escala. Además, como es frecuente en la resolución del problema de SLAM, el uso de filtros probabilísticos que procesan las imágenes de forma secuencial, da lugar a otro problema más alla de una ambigüedad de escala. Se trata de la existencia de una deriva en la escala que hace que esta no sea constate durante en toda la reconstrucción, y que da lugar a una deformación gradual en la reconstrucción final a medida que el mapa crece. Dado el interés en el uso de dichos sensores por su bajo coste, su universalidad y su facilidad de calibración existen varios trabajos que proponen resolver dicho problema; bien utilizando otros sensores de bajo coste como IMUs, o sensores de odometría disponibles en los vehículos con ruedas; bien sin necesidad de sensores adicionales a partir de algún tipo de medida conocida a priori como la distancia de la cámara al suelo o al eje de rotación del vehículo. De entre los trabajos mencionados, la mayoría se centran en cámaras acopladas a vehículos con ruedas. Las técnicas descritas en los mismos son dificilmente aplicables a una cámara llevada por una persona, debido en primer lugar a la imposibilidad de obtener medidas de odometría, y en segundo lugar, por el modelo más complejo de movimiento. En este TFM se recoge y se amplia el trabajo presentado en el artículo ``Full Scaled 3D Visual Odometry From a Single Wearable Omnidirectional Camera'' enviado y aceptado para su publicación en el próximo ``IEEE International Conference on Intelligent Robots and Sytems (IROS)''. En él se presenta un algoritmo para estimar la escala real de la odometría visual de una persona a partir de la estimación SLAM obtenida con una cámara omnidireccional catadióptrica portable y sin necesidad de usar sensores adicionales. La información a priori para la estimación en la escala viene dada por una ley empírica que relaciona directamente la velocidad al caminar con la frecuencia de paso o, dicho de otra forma equivalente, define la longitud de zancada como una función de la frecuencia de paso. Dicha ley está justificada en una tendencia de la persona a elegir una frecuencia de paso que minimiza el coste metabólico para una velocidad dada. La trayectoria obtenida por SLAM se divide en secciones, calculándose un factor de escala en cada sección. Para estimar dicho factor de escala, en primer lugar se estima la frecuencia de paso mediante análisis espectral de la señal correspondiente a la componente zz de los estados de la cámara de la sección actual. En segundo lugar se calcula la velocidad de paso mediante la relación empírica descrita anteriormente. Esta medida de velocidad real, así como el promedio de la velocidad absoluta de los estados contenidos en la sección, se incluyen dentro de un filtro de partículas para el cálculo final del factor de escala. Dicho factor de escala se aplica a la correspondiente sección mediante una fórmula recursiva que asegura la continuidad en posición y velocidad. Sobre este algoritmo básico se han introducido mejoras para disminuir el retraso entre la actualización de secciones de la trayectoria, así como para ser capaces de descartar medidas erróneas de la frecuencia de paso y detectar zonas o situaciones, como la presencia de escaleras, donde el modelo empírico utilizado para estimar la velocidad de paso no sería aplicable. Además, dado que inicialmente se implementó el algoritmo en MATLAB, aplicándose offline a la estimación de trayectoria completa desde la aplicación SLAM, se ha realizado también su implementación en C++ como un módulo dentro de esta aplicación para trabajar en tiempo real conjuntamente con el algoritmo de SLAM principal. Los experimentos se han llevado a cabo con secuencias tomadas tanto en exteriores como en interiores dentro del Campus Río Ebro de la Universida dde Zaragoza. En ellos se compara la estimación de la trayectoria a escala real obtenida mediante nuestro método con el Ground Truth obtenido de las imágenes por satélite de Google Maps. Los resultados de los experimentos muestran que se llega a alcanzar un error medio de hasta menos de 2 metros a lo largo de recorridos de 232 metros. Además se aprecia como es capaz de corregir una deriva de escala considerable en la estimación inicial de la trayectoria sin escalar. El trabajo realizado en el presente TFM utiliza el realizado durante mi Proyecto de Fin de Carrera, "Localización por Visión Omnidireccional para Asistencia Personal", con una beca de Iniciación a la Investigación del I3A y defendido en septiembre de 2011. En dicho proyecto se adaptó una completa aplicación C++ de SLAM en tiempo real con cámaras convencionales para ser usada con cámaras omnidireccionales de tipo catadióptrico. Para ello se realizaron modificaciones sobre dos aspectos básicos: el modelo de proyección y las transformaciones aplicadas a los descriptores de los puntos característicos. Fruto de ese trabajo se realizó una publicación, "Adapting a Real-Time Monocular Visual SLAM from Conventional to Omnidirectional Cameras" en el ``11th OMNIVIS'' celebrado dentro del ICCV 2011

    Reconocimiento de objetos en imágenes panorámicas

    Get PDF
    Este trabajo describe el desarrollo de un sistema de reconocimiento de objetos en imágenes panorámicas. Las imágenes panorámicas, con su amplio campo de visión, suponen un gran potencial para tareas de reconocimiento en interiores, ya que incluyen el contexto completo de las escenas. Sin embargo, también representan un reto para lidiar con los efectos de distorsión, debidos a su proyección esférica y a la resolución variable, ası́ como con la falta de datos masivos etiquetados. Tras una intensa investigación sobre el estado del arte en reconocimiento de objetos, y sus particularidades sobre panorámicas, se ha detectado la escasez de modelos concretos que trabajen con este tipo de imágenes.En este trabajo, se ha desarrollado un modelo basado en aprendizaje profundo, llamado Panoramic BlitzNet. Utiliza como base la red BlitzNet y aborda las tareas de detección de objetos y segmentación semántica en imágenes equirectangulares de interior. Está compuesto por una red totalmente convolucional (FCN) compartida prácticamente en su totalidad por las dos tareas, que cuenta con conexiones skip y que realiza reconocimiento multi-escala. Este modelo trabaja con las panorámicas completas, lo que representa una de las claves de su éxito. Además, se analiza en profundidad el impacto de las convoluciones equirectangulares, que sustituyen a las convencionales para adaptarse mejor al dominio esférico. Adicionalmente, se ha llevado a cabo una aproximación a la tarea de segmentación por instancias, ası́ como una prueba de concepto para combinar el reconocimiento de objetos con la reconstrucción del layout 3D en habitaciones.El modelo se ha entrenado y evaluado utilizando el dataset SUN360, adaptado para incluir máscaras de segmentación. Los resultados experimentales son claramente satisfactorios, respaldando la importancia de desarrollar sistemas especı́ficos que trabajen con imágenes panorámicas y la utilidad del aprendizaje conjunto de dos tareas de interpretación de escenas. Los resultados demuestran la efectividad del modelo, superando a otros métodos de estado del arte en reconocimiento de objetos con panorámicas en entornos de interior.<br /

    Sistema de visión omnidireccional y de profundidad para guiado de discapacitados visuales

    Get PDF
    El objetivo principal de este trabajo es el desarrollo de un sistema de detección del espacio libre en una escena que ayude en la planificación de trayectorias para el guiado de personas y que pueda servir como complemento a personas con discapacidad visual. En particular, en este proyecto se estudia el problema de detectar e identificar el plano del suelo para poder avanzar por las zonas libres de obstáculos, así como la expansión del mismo para permitir la planificación de movimientos durante la navegación. Para realizar estas tareas se hace uso de información de rango y de color. El uso de cámaras RGB-D permite adquirir este tipo de información, sin embargo, su limitado campo de vista y su rango de distancias impide obtener información más completa de la escena. Para solventar este problema, se propone una combinación de sensores a través de una cámara de profundidad que proporciona observaciones seguras delante de la persona, y de una cámara de color con gran campo de vista que permite recuperar información adicional significativa de la escena. La configuración propuesta se inspira en la visión humana donde la parte central de la retina (fóvea) proporciona información más rica que la periferia y a la vez permite un campo de vista amplio. Para ello se utilizan técnicas de procesamiento de información 3D, y de imagen de color, a diferencia de otros sistemas de navegación recogidos en el estado del arte. La clave del proyecto reside en cómo aprovechar e integrar la información procedente de ambos sensores para conseguir la mayor expansión posible y la detección de elementos de interés, favoreciendo la planificación de la trayectoria a seguir por el usuario durante la navegación. Este Trabajo de Fin de Máster se enfoca en cuatro actividades principales: - Realizar una correcta calibración entre ambas cámaras utilizando un novedoso sistema basado en correspondencias de líneas. - Desarrollar un sistema que permita segmentar el suelo de la escena visible combinando la información de la cámara de profundidad y de la cámara fisheye, ampliando de forma notable el campo de vista y el alcance de la cámara de profundidad. - Propuesta de ayuda a la navegación para la transmisión al usuario del espacio libre en la escena. - Evaluación experimental de las técnicas desarrolladas, en escenarios reales tanto interiores como exteriores y con diferente iluminación, generando una base de datos, inexistente hasta ahora para esta combinación de sensores. Los resultados experimentales demuestran el buen funcionamiento y la robustez del método propuesto. Se consigue expandir el área del suelo detectado unas 10 veces en entornos interiores y unas 20 veces en entornos de exterior, consiguiendo una elevada precisión

    Detección de personas para simulación de prótesis visual

    Get PDF
    Las personas reciben la información del entorno que les rodea por medio de los sentidos. La vista es el sentido que más información aporta acerca de una escena y de los objetos ubicados en la misma. A través de la visión y el aprendizaje somos capaces de reconocer objetos, personas, etc, pudiendo así, interactuar con ellos. Sin embargo, algunas patologías pueden causar daños en los sistemas visuales, conduciendo incluso a la ceguera. En función del tipo de daño, existen investigaciones en curso para colocar una prótesis de visión biónica que, mediante una estimulación eléctrica en determinadas zonas del nervio óptico o del cortex cerebral, permiten la visualización de puntos de luz denominados fosfenos. Para la estimulación de los fosfenos, una de las posibilidades es la captura de información de la escena mediante una cámara. Las técnicas actuales de procesamiento de imagen que se aplican sobre las prótesis visuales son bastante limitadas. La introducción de técnicas avanzadas de visión por computador incluyendo información de profundidad puede provocar un punto de inflexión en la forma de interacción con el entorno de las personas operadas con estos novedosos implantes. En este proyecto se ha avanzado en el desarrollo de un simulador de prótesis visuales considerando nuevas técnicas de visión por computador para favorecer la interpretación del entorno. En particular, se ha desarrollado una aplicación para la detección de personas y su representación mediante fosfenos. Se ha partido de un sistema compuesto de un sensor de profundidad RGB-D, Kinect v2 y de un sistema de realidad virtual, Oculus DK2. Mediante técnicas de visión por computador se ha inferido una descripción articular de la persona y una descripción de la cara que incluye ojos, boca y estado de ánimo. Esta información es representada de manera icónica en el simulador de visión protésica para una mejor interpretación por parte del usuario. Además, se han realizado varias pruebas para poder evaluar diferentes tipos de representación, en función de los distintos mapas de fosfenos diseñados. Los resultados obtenidos han sido bastante satisfactorios, cumpliendo todas las previsiones realizadas. Uno de los objetivos más importantes ha sido la de realizar la representación mediante fosfenos proponiendo varios ejemplos que permitan una correcta interpretación por parte del usuario pese a disponer de una resolución reducida

    Detección de puertas mediante un sistema de visión omnidireccional y de profundidad

    Get PDF
    El objetivo de este proyecto es el desarrollo de un algoritmo que permita la detección de puertas, de forma que sirva para la planificación de trayectorias de personas con deficiencias visuales para ayudarlas a moverse por entornos desconocidos. Para realizar esta tarea se utilizará la información obtenida a partir de dos sensores, una cámara RGB-D y una cámara fisheye, a través de las cuales se obtiene tanto información 3D de una pequeña región de la escena como información de color de una amplia región que sirva como complemento. Esta combinación de sensores se encuentra a la altura del pecho de los usuarios, ya que es una posición discreta y estable para las cámaras, a la vez que permite captar imágenes desde un ángulo que facilita la navegación. La información recogida se procesará mediante el uso de algoritmos de procesamiento de información 3D y de color, a través de las librerías PCL y OpenCV. Además, se utilizarán los resultados obtenidos de un proyecto previo, de forma que es la base principal sobre la que se apoya este trabajo. Finalmente se obtiene un algoritmo con una tasa de falsos positivos prácticamente nula y una capacidad de detección de puertas de casi el 50%.<br /

    Egocentric Computer Vision and Machine Learning for Simulated Prosthetic Vision

    Get PDF
    Las prótesis visuales actuales son capaces de proporcionar percepción visual a personas con cierta ceguera. Sin pasar por la parte dañada del camino visual, la estimulación eléctrica en la retina o en el sistema nervioso provoca percepciones puntuales conocidas como “fosfenos”. Debido a limitaciones fisiológicas y tecnológicas, la información que reciben los pacientes tiene una resolución muy baja y un campo de visión y rango dinámico reducido afectando seriamente la capacidad de la persona para reconocer y navegar en entornos desconocidos. En este contexto, la inclusión de nuevas técnicas de visión por computador es un tema clave activo y abierto. En esta tesis nos centramos especialmente en el problema de desarrollar técnicas para potenciar la información visual que recibe el paciente implantado y proponemos diferentes sistemas de visión protésica simulada para la experimentación.Primero, hemos combinado la salida de dos redes neuronales convolucionales para detectar bordes informativos estructurales y siluetas de objetos. Demostramos cómo se pueden reconocer rápidamente diferentes escenas y objetos incluso en las condiciones restringidas de la visión protésica. Nuestro método es muy adecuado para la comprensión de escenas de interiores comparado con los métodos tradicionales de procesamiento de imágenes utilizados en prótesis visuales.Segundo, presentamos un nuevo sistema de realidad virtual para entornos de visión protésica simulada más realistas usando escenas panorámicas, lo que nos permite estudiar sistemáticamente el rendimiento de la búsqueda y reconocimiento de objetos. Las escenas panorámicas permiten que los sujetos se sientan inmersos en la escena al percibir la escena completa (360 grados).En la tercera contribución demostramos cómo un sistema de navegación de realidad aumentada para visión protésica ayuda al rendimiento de la navegación al reducir el tiempo y la distancia para alcanzar los objetivos, incluso reduciendo significativamente el número de colisiones de obstáculos. Mediante el uso de un algoritmo de planificación de ruta, el sistema encamina al sujeto a través de una ruta más corta y sin obstáculos. Este trabajo está actualmente bajo revisión.En la cuarta contribución, evaluamos la agudeza visual midiendo la influencia del campo de visión con respecto a la resolución espacial en prótesis visuales a través de una pantalla montada en la cabeza. Para ello, usamos la visión protésica simulada en un entorno de realidad virtual para simular la experiencia de la vida real al usar una prótesis de retina. Este trabajo está actualmente bajo revisión.Finalmente, proponemos un modelo de Spiking Neural Network (SNN) que se basa en mecanismos biológicamente plausibles y utiliza un esquema de aprendizaje no supervisado para obtener mejores algoritmos computacionales y mejorar el rendimiento de las prótesis visuales actuales. El modelo SNN propuesto puede hacer uso de la señal de muestreo descendente de la unidad de procesamiento de información de las prótesis retinianas sin pasar por el análisis de imágenes retinianas, proporcionando información útil a los ciegos. Esté trabajo está actualmente en preparación.<br /

    Detección y modelado de escaleras con sensor RGB-D para asistencia personal

    Get PDF
    La habilidad de avanzar y moverse de manera efectiva por el entorno resulta natural para la mayoría de la gente, pero no resulta fácil de realizar bajo algunas circunstancias, como es el caso de las personas con problemas visuales o cuando nos movemos en entornos especialmente complejos o desconocidos. Lo que pretendemos conseguir a largo plazo es crear un sistema portable de asistencia aumentada para ayudar a quienes se enfrentan a esas circunstancias. Para ello nos podemos ayudar de cámaras, que se integran en el asistente. En este trabajo nos hemos centrado en el módulo de detección, dejando para otros trabajos el resto de módulos, como podría ser la interfaz entre la detección y el usuario. Un sistema de guiado de personas debe mantener al sujeto que lo utiliza apartado de peligros, pero también debería ser capaz de reconocer ciertas características del entorno para interactuar con ellas. En este trabajo resolvemos la detección de uno de los recursos más comunes que una persona puede tener que utilizar a lo largo de su vida diaria: las escaleras. Encontrar escaleras es doblemente beneficioso, puesto que no sólo permite evitar posibles caídas sino que ayuda a indicar al usuario la posibilidad de alcanzar otro piso en el edificio. Para conseguir esto hemos hecho uso de un sensor RGB-D, que irá situado en el pecho del sujeto, y que permite captar de manera simultánea y sincronizada información de color y profundidad de la escena. El algoritmo usa de manera ventajosa la captación de profundidad para encontrar el suelo y así orientar la escena de la manera que aparece ante el usuario. Posteriormente hay un proceso de segmentación y clasificación de la escena de la que obtenemos aquellos segmentos que se corresponden con "suelo", "paredes", "planos horizontales" y una clase residual, de la que todos los miembros son considerados "obstáculos". A continuación, el algoritmo de detección de escaleras determina si los planos horizontales son escalones que forman una escalera y los ordena jerárquicamente. En el caso de que se haya encontrado una escalera, el algoritmo de modelado nos proporciona toda la información de utilidad para el usuario: cómo esta posicionada con respecto a él, cuántos escalones se ven y cuáles son sus medidas aproximadas. En definitiva, lo que se presenta en este trabajo es un nuevo algoritmo de ayuda a la navegación humana en entornos de interior cuya mayor contribución es un algoritmo de detección y modelado de escaleras que determina toda la información de mayor relevancia para el sujeto. Se han realizado experimentos con grabaciones de vídeo en distintos entornos, consiguiendo buenos resultados tanto en precisión como en tiempo de respuesta. Además se ha realizado una comparación de nuestros resultados con los extraídos de otras publicaciones, demostrando que no sólo se consigue una eciencia que iguala al estado de la materia sino que también se aportan una serie de mejoras. Especialmente, nuestro algoritmo es el primero capaz de obtener las dimensiones de las escaleras incluso con obstáculos obstruyendo parcialmente la vista, como puede ser gente subiendo o bajando. Como resultado de este trabajo se ha elaborado una publicación aceptada en el Second Workshop on Assitive Computer Vision and Robotics del ECCV, cuya presentación tiene lugar el 12 de Septiembre de 2014 en Zúrich, Suiza

    Integración de técnicas de detección de personas con visión para robótica colaborativa

    Get PDF
    Este TFG se centra en el reconocimiento del cuerpo humano con una cámara RGB-D, la Kinect V2 de Windows, que permite localizar a las personas respecto a la cámara y la utilización de los datos aportados por la Kinect (posición y orientación de las articulaciones del cuerpo humano) para programar de forma colaborativa un robot tradicional ABB. Primero, se aborda el estado del arte de la robótica colaborativa y las técnicas de detección de personas mediante la obtención de la profundidad. Posteriormente se realiza un estudio del hardware utilizado en el trabajo, el robot ABB IRB 120 y la cámara Kinect y software utilizado tanto para programar la cámara como para programar el uso de los datos de la Kinect para programar el robot. El siguiente problema abordado son las posibilidades de uso de los datos de la Kinect, como la captura de la posición de la mano y la vigilancia de la célula. Una vez abordado este problema, se programa la Kinect para obtener los datos de posición y orientación de las articulaciones del cuerpo y una aplicación que permita usar esos datos para trabajar de forma colaborativa con el robot. Una vez se ha desarrollado la primera aplicación, se estudia la posibilidad de controlar la aplicación mediante los gestos reconocidos por la Kinect. Por último, se analizan las conclusiones alcanzadas y el trabajo futuro

    Simulación y programación de un Robot Industrial ABB

    Get PDF
    El presente proyecto describe el trabajo desarrollado para generar material docente, tanto teórico como práctico en forma de guías y de estaciones de simulación, para la asignatura Automatización Flexible y Robótica, del Grado de Tecnologías Industriales, y se ha desarrollado en el Laboratorio L0.06 del edificio Ada Byron de la Escuela de Ingeniería y Arquitectura de la Universidad de Zaragoza. El trabajo tiene como denominador común la lectura y comprensión de gran cantidad de documentación técnica en referencia al lenguaje de programación de robots RAPID, al Robot de ABB modelo IRB 120 disponible en dicho laboratorio, así como al software simulación de entornos de producción robotizados, Robot Studio. Como resultado del proyecto, se ha generado material docente para prácticas de programación de robots, así como la documentación de todo el trabajo realizado, que se ha dividido principalmente en tres bloques temáticos: 1. Introducción al robot industrial IRB 120, en la que se muestran sus principales características, así como al lenguaje de programación RAPID. 2. Explicación detallada de las opciones de Robot Studio como software de simulación, incluyendo la herramienta FlexPendant. 3. Creación de las estaciones de simulación, adaptadas a las necesidades de las prácticas de la asignatura, en que se incluyen y se desarrollan las principales funciones de Robot Studio y RAPID
    corecore